package day1115;

import java.util.*;

/**
 * @Author 比特就业课
 * @Date 2022-11-17
 */
public class Exe_01 {
    public static void main(String[] args) {
        // 生成10万个元素的数组
        int capacity = 10_000;
        int[] array = new int[capacity];
        // 随机生成
        Random random = new Random();
        for (int i = 0; i < capacity; i++) {
            int value = random.nextInt(capacity);
            array[i] = value;
        }
    }

    // 去除10万个数据中的重复数据
    public static void func1 (int[] array) {
//        使用set的去重性质
        Set<Integer> set=new HashSet<>();
        for (int i = 0; i < array.length; i++) {
            set.add(array[i]);
        }
        System.out.println(set);
    }

    // 查找10万个数据中第一次重复的数据
    public static int func2 (int[] array) {
        Set<Integer> set=new HashSet<>();
        for (int i = 0; i < array.length; i++) {
            if(set.contains(array[i])){
                return array[i];
            }
            set.add(array[i]);
        }
        return -1;
    }

    // 统计10万个数据中，每个每个数据出现的次数
    public static void func3 (int[] array) {
        Map<Integer,Integer> map=new HashMap<>();
        for (int i = 0; i < array.length; i++) {
            if (map.containsKey(array[i])){
                map.put(array[i],map.get(array[i])+1);
            }else {
                map.put(array[i],1);
            }
        }
    }
}
